//package com.snail.controller.mcpApi;
//
//import com.snail.config.McpRequest;
//import com.snail.config.McpResponse;
//import com.snail.service.McpService;
//import lombok.RequiredArgsConstructor;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.http.ResponseEntity;
//import org.springframework.web.bind.annotation.*;
//
//import java.util.Map;
//
///**
// * @author cici
// * @description api控制器
// * @date 2025/8/13 17:18
// */
//@Slf4j
//@RestController
//@RequestMapping("/mcp")
//@RequiredArgsConstructor
//public class McpController {
//    private final McpService mcpService;
//
//    /**
//     * MCP协议主要入口点
//     */
//    @PostMapping("/rpc")
//    public ResponseEntity<McpResponse> handleMcpRequest(@RequestBody McpRequest request) {
//        log.info("收到MCP请求: method={}, id={}", request.getMethod(), request.getId());
//
//        try {
//            McpResponse response = mcpService.handleMcpRequest(request);
//            return ResponseEntity.ok(response);
//        } catch (Exception e) {
//            log.error("处理MCP请求时发生错误", e);
//            return ResponseEntity.internalServerError().build();
//        }
//    }
//
//    /**
//     * 获取MCP服务器信息
//     */
//    @GetMapping("/info")
//    public ResponseEntity<Map<String, Object>> getServerInfo() {
//        Map<String, Object> info = Map.of(
//                "name", "elasticsearch-search-mcp",
//                "version", "1.0.0",
//                "description", "MCP server for AI-powered Elasticsearch product search",
//                "protocolVersion", "2024-11-05",
//                "capabilities", Map.of(
//                        "tools", Map.of(
//                                "listChanged", false
//                        )
//                )
//        );
//
//        return ResponseEntity.ok(info);
//    }
//
//    /**
//     * 健康检查
//     */
//    @GetMapping("/health")
//    public ResponseEntity<Map<String, String>> healthCheck() {
//        return ResponseEntity.ok(Map.of("status", "healthy", "service", "mcp-elasticsearch-search"));
//    }
//
//    /**
//     * 获取可用的工具列表
//     */
//    @GetMapping("/tools")
//    public ResponseEntity<Map<String, Object>> getTools() {
//        return ResponseEntity.ok(Map.of("tools", mcpService.getAvailableTools()));
//    }
//}
